Recursive categorical syntax